home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / editors / emacs / xemacs / xemacs-1.004 / xemacs-1 / xemacs-19.13 / src / config.h.in < prev    next >
Encoding:
Text File  |  1995-08-18  |  15.7 KB  |  538 lines

  1. /* XEmacs site configuration template file.  -*- C -*-
  2.    Copyright (C) 1986, 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
  3.  
  4. This file is part of XEmacs.
  5.  
  6. XEmacs is free software; you can redistribute it and/or modify it
  7. under the terms of the GNU General Public License as published by the
  8. Free Software Foundation; either version 2, or (at your option) any
  9. later version.
  10.  
  11. XEmacs is distributed in the hope that it will be useful, but WITHOUT
  12. ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13. FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14. for more details.
  15.  
  16. You should have received a copy of the GNU General Public License
  17. along with XEmacs; see the file COPYING.  If not, write to the Free
  18. Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  19.  
  20. /* Synched up with: FSF 19.28 (more or less). */
  21.  
  22. /* No code in XEmacs #includes config.h twice, but some of the code
  23.    intended to work with other packages as well (like gmalloc.c) 
  24.    think they can include it as many times as they like.  */
  25. #ifndef _CONFIG_H_
  26. #define _CONFIG_H_
  27.  
  28. /* These are all defined in the top-level Makefile by configure.
  29.    They're here only for reference.  */
  30.  
  31. /* Define LISP_FLOAT_TYPE if you want XEmacs to support floating-point
  32.    numbers. */
  33. #undef LISP_FLOAT_TYPE
  34.  
  35. /* Define GNU_MALLOC if you want to use the *new* GNU memory allocator. */
  36. #undef GNU_MALLOC
  37.  
  38. /* Define HAVE_X_WINDOWS if you want to use the X window system.  */
  39. #undef HAVE_X_WINDOWS
  40.  
  41. /* Define HAVE_NEXTSTEP if you want to use the NeXTstep window system.  */
  42. #undef HAVE_NEXTSTEP
  43.  
  44. /* Define HAVE_WINDOW_SYSTEM if any windowing system is available.  */
  45. #if defined(HAVE_X_WINDOWS) || defined(HAVE_NEXTSTEP)
  46. #define HAVE_WINDOW_SYSTEM
  47. #endif
  48.  
  49. /* Define this if you're using XFree386.  */
  50. #undef HAVE_XFREE386
  51.  
  52. #undef THIS_IS_X11R4
  53. #undef THIS_IS_X11R5
  54. #undef THIS_IS_X11R6
  55.  
  56. /* Define USER_FULL_NAME to return a string
  57.    that is the user's full name.
  58.    It can assume that the variable `pw'
  59.    points to the password file entry for this user.
  60.  
  61.    At some sites, the pw_gecos field contains
  62.    the user's full name.  If neither this nor any other
  63.    field contains the right thing, use pw_name,
  64.    giving the user's login name, since that is better than nothing.  */
  65. #define USER_FULL_NAME pw->pw_gecos
  66.  
  67. /* Define AMPERSAND_FULL_NAME if you use the convention
  68.    that & in the full name stands for the login id.  */
  69. #undef AMPERSAND_FULL_NAME
  70.  
  71. /* Some things figured out by the configure script, grouped as they are in
  72.    configure.in.  */
  73. #undef HAVE_MACH_MACH_H
  74. #undef HAVE_SYS_TIMEB_H
  75. #undef HAVE_SYS_TIME_H
  76. #undef HAVE_UNISTD_H
  77. #undef HAVE_UTIME_H
  78. #undef HAVE_SYS_WAIT_H
  79. #undef STDC_HEADERS
  80. #undef TIME_WITH_SYS_TIME
  81. #undef WORDS_BIGENDIAN
  82.  
  83. #undef HAVE_LONG_FILE_NAMES
  84.  
  85. #ifdef HAVE_LONG_FILE_NAMES
  86. #define CLASH_DETECTION
  87. #endif
  88.  
  89. #undef HAVE_LIBDNET
  90. #undef HAVE_LIBRESOLV
  91.  
  92. /* Define if `sys_siglist' is declared by <signal.h>. */
  93. #undef SYS_SIGLIST_DECLARED
  94.  
  95. /* Define if `struct utimbuf' is declared by <utime.h>.  */
  96. #undef HAVE_STRUCT_UTIMBUF
  97.  
  98. /* Define if `struct timeval' is declared by <sys/time.h>.  */
  99. #undef HAVE_TIMEVAL
  100.  
  101.  
  102. #undef TM_IN_SYS_TIME
  103. #undef HAVE_TM_ZONE
  104. #undef HAVE_TZNAME
  105.  
  106. /* Define if netdb.h declares h_errno.  */
  107. #undef HAVE_H_ERRNO
  108.  
  109. #undef HAVE_ALLOCA_H
  110. #undef HAVE_VFORK_H
  111. #undef vfork
  112.  
  113. #undef HAVE_MMAP
  114. #undef HAVE_STRCOLL
  115.  
  116. #undef SIZEOF_SHORT
  117. #undef SIZEOF_INT
  118. #undef SIZEOF_LONG
  119.  
  120. #undef HAVE_CBRT
  121. #undef HAVE_CLOSEDIR
  122. #undef HAVE_DUP2
  123. #undef HAVE_FPATHCONF
  124. #undef HAVE_FREXP
  125. #undef HAVE_GETHOSTNAME
  126. #undef HAVE_GETPAGESIZE
  127. #undef HAVE_GETTIMEOFDAY
  128. #undef HAVE_GETWD
  129.  
  130. #undef HAVE_ACOSH
  131. #undef HAVE_ASINH
  132. #undef HAVE_ATANH
  133. #undef HAVE_LOGB
  134. #undef HAVE_MATHERR
  135.  
  136. #if defined (HAVE_ACOSH) && defined (HAVE_ASINH) && defined (HAVE_ATANH)
  137. #define HAVE_INVERSE_HYPERBOLIC
  138. #endif
  139.  
  140. #undef HAVE_MKDIR
  141. #undef HAVE_PERROR
  142. #undef HAVE_RANDOM
  143. #undef HAVE_LRAND48
  144. #undef HAVE_RENAME
  145. #undef HAVE_RES_INIT
  146. #undef HAVE_RINT
  147. #undef HAVE_RMDIR
  148. #undef HAVE_REALPATH
  149. #undef HAVE_SELECT
  150. #undef HAVE_SETITIMER
  151. #undef HAVE_SETPGID
  152. #undef HAVE_SETSID
  153. #undef HAVE_SIGBLOCK
  154. #undef HAVE_SIGHOLD
  155. #undef HAVE_SIGPROCMASK
  156. #undef HAVE_STRERROR
  157. #undef HAVE_UTIMES
  158. #undef HAVE_WAITPID
  159.  
  160. #undef HAVE_SOCKETS
  161. #undef HAVE_SYSVIPC
  162.  
  163. #undef SYSV_SYSTEM_DIR
  164. #undef NONSYSTEM_DIR_LIBRARY
  165.  
  166. #undef HAVE_TERMIOS
  167. #undef HAVE_TERMIO
  168.  
  169. #undef NLIST_STRUCT
  170.  
  171. #undef UNEXEC_SRC
  172. #undef AIX_SMT_EXP
  173.  
  174. /* Define HAVE_SOCKS if you have the `socks' library and want XEmacs to
  175.    use it.  */
  176. #undef HAVE_SOCKS
  177.  
  178. /* Define HAVE_XPM if you have the `xpm' library and want XEmacs to use it. */
  179. #undef HAVE_XPM
  180.  
  181. /* Define HAVE_XFACE if you have the `compface' library and want to use it.
  182.    This will permit X-face pixmaps in mail and news messages to display
  183.    quickly. */
  184. #undef HAVE_XFACE
  185.  
  186. /* Define HAVE_GIF if you have the GIF library and want XEmacs to use it.
  187.    This is for converting GIF (Graphics Interchange Format) images. */
  188.  
  189. #undef HAVE_GIF
  190.  
  191. /* Define HAVE_JPEG if you have the JPEG library and want XEmacs to use it.
  192.    This is for converting JPEG images. */
  193.  
  194. #undef HAVE_JPEG
  195.  
  196. /* Define HAVE_PNG if you have the PNG library and want XEmacs to use it.
  197.    This is for converting PNG images. */
  198.  
  199. #undef HAVE_PNG
  200.  
  201. /* Define HAVE_XAUTH if the Xauth library is present.  This will add
  202.    some extra functionality to gnuserv. */
  203. #undef HAVE_XAUTH
  204.  
  205. /* Define EPOCH to include extra functionality that was present in Epoch.
  206.    This code has received only limited testing. */
  207. #undef EPOCH
  208.  
  209. #define LOWTAGS
  210.  
  211. /* If using GNU, then support inline function declarations. */
  212. #ifdef __GNUC__
  213. #define INLINE __inline__
  214. #else
  215. #define INLINE
  216. #endif
  217.  
  218. /* Define USE_ASSERTIONS if you want the abort() to be changed to assert()
  219.    If the assertion fails, assert_failed() will be called.  This is not
  220.    recommended for use unless you really know what it does. */
  221. #undef USE_ASSERTIONS
  222.  
  223. /* Define one or more of the following if you want lots of extra checks
  224.    (e.g. structure validation) compiled in.  These should be turned
  225.    on during the beta-test cycle. */
  226.  
  227. /* Check the entire extent structure of a buffer each time an extent
  228.    change is done, and do other extent-related checks. */
  229. #undef ERROR_CHECK_EXTENTS
  230. /* Make sure that all X... macros are dereferencing the correct type,
  231.    and that all XSET... macros (as much as possible) are setting the
  232.    correct type of structure.  Highly recommended for all
  233.    development work. */
  234. #undef ERROR_CHECK_TYPECHECK
  235. /* Make sure valid buffer positions are passed to BUF_* macros. */
  236. #undef ERROR_CHECK_BUFPOS
  237. /* Attempt to catch bugs related to garbage collection (e.g.
  238.    insufficient GCPRO'ing). */
  239. #undef ERROR_CHECK_GC
  240. /* Attempt to catch freeing of a non-malloc()ed block, heap corruption,
  241.    etc. */
  242. #undef ERROR_CHECK_MALLOC
  243.  
  244. /* Define DEBUG_XEMACS if you want a lot of extra checks compiled in.
  245.    (Not currently implemented.) This is only intended for use by
  246.    developers. */
  247. #undef DEBUG_XEMACS
  248.  
  249. /* Define QUANTIFY if using Quantify from Pure Software.  This adds
  250.    some additional calls to control data collection.  This is only
  251.    intended for use by the developers. */
  252. #undef QUANTIFY
  253.  
  254. /* Define EXTERNAL_WIDGET to compile support for using the editor as a
  255.    widget. */
  256. #undef EXTERNAL_WIDGET
  257.  
  258. /* There are some special-case defines for gcc and lcc. */
  259. #undef USE_GCC
  260. #undef USE_LCC
  261.  
  262. /* Allow the user to override the default value of PURESIZE at configure
  263.    time.  This must come before we include the sys files in order for
  264.    it to be able to override any changes in them. */
  265. #undef PURESIZE
  266.  
  267. /* Define this if you want level 2 internationalization compliance
  268.    (localized collation and formatting).  Generally this should be
  269.    defined, unless your system doesn't have the strcoll() and 
  270.    setlocale() library routines.  This really should be defined in
  271.    the appropriate s/ or m/ file.
  272.  */
  273. #undef I18N2
  274.  
  275. /* Define this if you want level 3 internationalization compliance
  276.    (localized messaging).  This will cause a small runtime performance
  277.    penalty, as the strings are read from the message catalog(s).
  278.    For this you need the gettext() and dgetext() library routines.
  279.    WARNING, this code is under construction.
  280.  */
  281. #undef I18N3
  282.  
  283. /* Define this if you want Mule support (multi-byte character support).
  284.    There may be some performance penalty, although it should be small
  285.    if you're working with ASCII files.
  286.  
  287.    This doesn't currently work. */
  288. #undef MULE
  289.  
  290.   /* To eliminate use of `const' in the XEmacs sources,
  291.      do `#define CONST_IS_LOSING' */
  292. #undef CONST_IS_LOSING
  293.  
  294. # undef CONST
  295. # ifdef CONST_IS_LOSING
  296. #  define CONST
  297. # else
  298. #  define CONST const
  299. # endif /* CONST */
  300.  
  301. /* The configuration script defines opsysfile to be the name of the
  302.    s/...h file that describes the system type you are using.  The file
  303.    is chosen based on the configuration name you give.
  304.  
  305.    See the file ../etc/MACHINES for a list of systems and the
  306.    configuration names to use for them.
  307.  
  308.    See s/template.h for documentation on writing s/...h files.  */
  309. #undef config_opsysfile 
  310. #include config_opsysfile
  311.  
  312. /* The configuration script defines machfile to be the name of the
  313.    m/...h file that describes the machine you are using.  The file is
  314.    chosen based on the configuration name you give.
  315.  
  316.    See the file ../etc/MACHINES for a list of machines and the
  317.    configuration names to use for them.
  318.  
  319.    See m/template.h for documentation on writing m/...h files.  */
  320. #undef config_machfile
  321. #include config_machfile
  322.  
  323. #if 0 /* RMSmacs */
  324. /* These typedefs shouldn't appear when alloca.s or Makefile.in
  325.    includes config.h.  */
  326. #ifndef NOT_C_CODE
  327. #ifndef SPECIAL_EMACS_INT
  328. typedef long EMACS_INT;
  329. typedef unsigned long EMACS_UINT;
  330. #endif
  331. #endif
  332. #endif
  333.  
  334. /* The configuration name.  This is used as the install directory name
  335.    for the lib-src programs. */
  336. #undef EMACS_CONFIGURATION
  337.  
  338. /* Load in the conversion definitions if this system
  339.    needs them and the source file being compiled has not
  340.    said to inhibit this.  There should be no need for you
  341.    to alter these lines.  */
  342.  
  343. #ifdef SHORTNAMES
  344. #ifndef NO_SHORTNAMES
  345. #include "../shortnames/remap.h"
  346. #endif /* not NO_SHORTNAMES */
  347. #endif /* SHORTNAMES */
  348.  
  349. /* Define REL_ALLOC if you want to use the relocating allocator for
  350.    buffer space. */
  351. #undef REL_ALLOC
  352.  
  353. /* Define LD_SWITCH_SITE to contain any special flags your loader may need.  */
  354. #undef LD_SWITCH_SITE
  355.  
  356. /* Define C_SWITCH_SITE to contain any special flags your compiler needs.  */
  357. #undef C_SWITCH_SITE
  358.  
  359. /* Define LD_SWITCH_X_SITE to contain any special flags your loader
  360.    may need to deal with X Windows.  For instance, if you've defined
  361.    HAVE_X_WINDOWS above and your X libraries aren't in a place that
  362.    your loader can find on its own, you might want to add "-L/..." or
  363.    something similar.  */
  364. #undef LD_SWITCH_X_SITE
  365.  
  366. /* Define LD_SWITCH_X_SITE_AUX with an -R option
  367.    in case it's needed (for Solaris, for example).  */
  368. #undef LD_SWITCH_X_SITE_AUX
  369.  
  370. /* Define C_SWITCH_X_SITE to contain any special flags your compiler
  371.    may need to deal with X Windows.  For instance, if you've defined
  372.    HAVE_X_WINDOWS above and your X include files aren't in a place
  373.    that your compiler can find on its own, you might want to add
  374.    "-I/..." or something similar.  */
  375. #undef C_SWITCH_X_SITE
  376.  
  377. /* Define the return type of signal handlers if the s-xxx file
  378.    did not already do so.  */
  379. #define RETSIGTYPE void
  380.  
  381. /* SIGTYPE is the macro we actually use.  */
  382. #ifndef SIGTYPE
  383. #define SIGTYPE RETSIGTYPE
  384. #define SIGRETURN return
  385. #endif
  386.  
  387. /* Define DYNODUMP if it is necessary to properly dump on this system.
  388.    Currently this is only Solaris. */
  389. #undef DYNODUMP
  390.  
  391. /* Define ENERGIZE to compile with support for the Energize Programming System.
  392.    If you do this, don't forget to define ENERGIZE in lwlib/Imakefile as well.
  393.    You will need to set your C_SWITCH_SITE and LD_SWITCH_SITE to point at the
  394.    Energize connection library (libconn.a) and associated header files.
  395.  */
  396. #undef ENERGIZE
  397. #undef ENERGIZE_2
  398. #undef ENERGIZE_3
  399.  
  400. /* Define SUNPRO to compiled in support for Sun Sparcworks. */
  401. #undef SUNPRO
  402.  
  403. /* Sun SparcStations, SGI machines, and HP9000s700s have support for playing
  404.    different sound files as beeps.  If you are on a SparcStation but do not 
  405.    have the sound option installed for some reason, then undefine
  406.    HAVE_NATIVE_SOUND.  (It's usually found in /usr/demo/SOUND/ on SunOS 4
  407.    and Solaris systems; on Solaris, you may need to install the "SUNWaudmo"
  408.    package.)
  409.  */
  410. #undef HAVE_NATIVE_SOUND
  411.  
  412. /* If you wish to compile with support for the Network Audio System
  413.    system define HAVE_NAS_SOUND.
  414.    NAS_NO_ERROR_JUMP means that the NAS libraries don't inlcude some
  415.    error handling changes.
  416.  */
  417. #undef HAVE_NAS_SOUND
  418. #undef NAS_NO_ERROR_JUMP
  419.  
  420. /* Compile in support for SunPro usage-tracking code. */
  421. #undef USAGE_TRACKING
  422.  
  423. /* Define TOOLTALK if your site supports the ToolTalk library. */
  424. #undef TOOLTALK
  425.  
  426. #undef LWLIB_USES_MOTIF
  427. #undef LWLIB_MENUBARS_LUCID
  428. #undef LWLIB_MENUBARS_MOTIF
  429. #undef LWLIB_SCROLLBARS_LUCID
  430. #undef LWLIB_SCROLLBARS_MOTIF
  431. #undef LWLIB_SCROLLBARS_ATHENA
  432. #undef LWLIB_DIALOGS_MOTIF
  433. #undef LWLIB_DIALOGS_ATHENA
  434. #undef HAVE_XMU
  435.  
  436. /* If you are using SunOS 4.1.1 and X11r5, then you need this patch.
  437.    There is a stupid bug in the SunOS libc.a: two functions which X11r5
  438.    uses, mbstowcs() and wcstombs(), are unusable when programs are
  439.    statically linked (as XEmacs must be) because the static version of
  440.    libc.a contains the *dynamic* versions of these functions.  These
  441.    functions don't seem to be called when XEmacs is running, so it's 
  442.    enough to define stubs for them.
  443.  
  444.    This appears to be fixed in SunOS 4.1.2.
  445.  
  446.    Also, SunOS 4.1.1 contains buggy versions of strcmp and strcpy that
  447.    sometimes reference memory past the end of the string, which can segv.
  448.    I don't know whether this is has been fixed as of 4.1.2 or 4.1.3.
  449.  */
  450. #if defined (sparc) && !defined (USG)
  451. #define OBJECTS_SYSTEM sunOS-fix.o strcmp.o strcpy.o
  452. #endif
  453.  
  454. /* If you turn this flag on, it forces encapsulation in all
  455. circumstances; this can be used to make sure things compile OK
  456. on various systems. */
  457. #define DEBUG_ENCAPSULATION
  458.  
  459. /* basic system calls */
  460.  
  461. #if defined (INTERRUPTIBLE_IO) || defined (DEBUG_ENCAPSULATION)
  462. # define ENCAPSULATE_READ
  463. # define ENCAPSULATE_WRITE
  464. #endif
  465. #if defined (INTERRUPTIBLE_OPEN) || defined (MULE) || defined (DEBUG_ENCAPSULATION)
  466. # define ENCAPSULATE_OPEN
  467. #endif
  468. #if defined (INTERRUPTIBLE_CLOSE) || defined (DEBUG_ENCAPSULATION)
  469. # define ENCAPSULATE_CLOSE
  470. #endif
  471.  
  472. /* stdio calls */
  473.  
  474. #if defined (INTERRUPTIBLE_IO) || defined (DEBUG_ENCAPSULATION)
  475. # define ENCAPSULATE_FREAD
  476. # define ENCAPSULATE_FWRITE
  477. #endif
  478. #if defined (INTERRUPTIBLE_OPEN) || defined (MULE) || defined (DEBUG_ENCAPSULATION)
  479. # define ENCAPSULATE_FOPEN
  480. #endif
  481. #if defined (INTERRUPTIBLE_CLOSE) || defined (DEBUG_ENCAPSULATION)
  482. # define ENCAPSULATE_FCLOSE
  483. #endif
  484.  
  485. /* directory calls */
  486.  
  487. #if defined (MULE) || defined (DEBUG_ENCAPSULATION)
  488. # define ENCAPSULATE_CHDIR
  489. # define ENCAPSULATE_MKDIR
  490. # define ENCAPSULATE_OPENDIR
  491. # define ENCAPSULATE_READDIR
  492. # define ENCAPSULATE_RMDIR
  493. #endif
  494.  
  495. /* file-information calls */
  496.  
  497. #if defined (MULE) || defined (DEBUG_ENCAPSULATION)
  498. # define ENCAPSULATE_ACCESS
  499. # define ENCAPSULATE_LSTAT
  500. # define ENCAPSULATE_READLINK
  501. # define ENCAPSULATE_STAT
  502. #endif
  503.  
  504. /* file-manipulation calls */
  505.  
  506. #if defined (MULE) || defined (DEBUG_ENCAPSULATION)
  507. # define ENCAPSULATE_CHMOD
  508. # define ENCAPSULATE_CREAT
  509. # define ENCAPSULATE_LINK
  510. # define ENCAPSULATE_RENAME
  511. # define ENCAPSULATE_SYMLINK
  512. # define ENCAPSULATE_UNLINK
  513. #endif
  514.  
  515. #if (defined (MSDOS) && defined (FEPCTRL)) || (defined (WIN32) && defined (USE_IME))
  516. #define HAVE_FEP
  517. #endif
  518.  
  519. #if defined (HAVE_SOCKS) && !defined (DO_NOT_SOCKSIFY)
  520. #define accept Raccept
  521. #define bind Rbind
  522. #define connect Rconnect
  523. #define getsockname Rgetsockname
  524. #define listen Rlisten
  525. #endif /* HAVE_SOCKS && !DO_NOT_SOCKSIFY */
  526.  
  527. #ifndef SHORTBITS
  528. #define SHORTBITS (8 * SIZEOF_SHORT)
  529. #endif
  530. #ifndef INTBITS
  531. #define INTBITS (8 * SIZEOF_INT)
  532. #endif
  533. #ifndef LONGBITS
  534. #define LONGBITS (8 * SIZEOF_LONG)
  535. #endif
  536.  
  537. #endif /* _CONFIG_H_ */
  538.